Declarative Logic Programming with Primitive Recursive Relations on Lists

نویسندگان

  • Andreas Hamfelt
  • Jørgen Fischer Nilsson
چکیده

In a previous paper we introduced a system of recursion operators for formulating pure logic programs, dispensing with explicit recursions. The recursion operators, some of which are similar to higher-order functions known from functional programming, take the form of quasi-higher order predicates. In this paper we identify a comprehensive class of logic programs called primitive recursive relations over lists (including primitive recursive functions) using the so called fold recursion operators. We formulate and prove a duality theorem connecting our relational fold operators. We show how correct well-moded procedural interpretations using any xed computation rule can be obtained from a declarative logic program. This is accomplished in a principled manner by a simpliied data ow analysis enabled by the recursion operator formulation and the duality theorem. The recursion operators are handled in ordinary clauses by means of established metalogic programming techniques.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Strictly Level - Decreasing Logic Programs 1

We study strictly level-decreasing logic programs (sld-programs) as deened earlier by the present authors. It will be seen that sld-programs, unlike most other classes of logic programs, have both a highly intuitive declarative semantics, given as a unique supported model, and are computationally adequate in the sense that every partial recursive function can be represented by some sld-program ...

متن کامل

Strictly Level-Decreasing Logic Programs

We study strictly level-decreasing logic programs (sld-programs) as defined earlier by the present authors. It will be seen that sld-programs, unlike most other classes of logic programs, have both a highly intuitive declarative semantics, given as a unique supported model, and are computationally adequate in the sense that every partial recursive function can be represented by some sld-program...

متن کامل

Programming with Equations, Subsets, and Relations

We discuss the declarative and computational issues in combining equa-tional, subset, and relational assertions in a logic programming language. The novel feature in this work is the subset assertion, whose interactions with equational and relational assertions are discussed in this paper. The semantics of subset assertions incorporate a collect all capability, which is expressed formally by th...

متن کامل

Aggregation in Functional Query Languages

We consider the problem of improving the computational efficiency of a functional query language. Our focus is on aggregate operations which have proven to be of practical interest in database querying. Since aggregate operations are typically non-monotonic in nature, recursive programs making use of aggregate operations must be suitably restricted in order that they have a well-defined meaning...

متن کامل

The Expressive Power of Transitive Closue and 2-way Multihead Automata

Correctness proof for the WAM with types p. 15 Model checking of persistent Petri nets p. 35 Provability in TBLL: A decision procedure p. 53 How to implement first order formulas in local memory machine models p. 68 A new approach to abstract data types II. Computation on ADTs as ordinary computation p. 79 A primitive recursive set theory and AFA: On the logical complexity of the largest bisimu...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1996